package com.hsnn.medstgmini.trading.pur.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hsnn.medstgmini.trading.pur.dao.PurReturnOldOrderDao;
import com.hsnn.medstgmini.trading.pur.model.ReturnStatus;
import com.hsnn.medstgmini.trading.pur.service.PurReturnOldOrderManager;
import com.hsnn.medstgmini.util.ConstantsUtil;
import com.hsnn.medstgmini.util.Pagination;
import com.hsnn.medstgmini.util.ParseNumber;

@Service
public class PurReturnOldOrderManagerImpl implements PurReturnOldOrderManager {

	@Autowired
	private PurReturnOldOrderDao purReturnOldOrderDao;
	
	@SuppressWarnings("unchecked")
	@Override
	public Pagination getReturnOldOrderList(Pagination page) {
		page = purReturnOldOrderDao.getReturnOldOrderList(page);
		List<Map<String,Object>> list = (List<Map<String, Object>>) page.getRows();
		Map<String,Object> map = new HashMap<String, Object>();
		if(list.size()>0){
			for(int i = 0;i<list.size();i++){
				map = list.get(i);
				map.put("status", map.get("status")==null?"":ReturnStatus.getName(Integer.valueOf(map.get("status").toString())));
			}
		}
		return page;
	}
	/**
	 * 
	 * @category 获取历史退货单列表（医疗机构）
	 * @author 邱磊
	 * @date 2015年8月1日 上午10:46:10
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public Pagination getReturnOldOrderByHospDataList(Pagination page){
		page = purReturnOldOrderDao.getReturnOldOrderByHospDataList(page);
		List<Map<String,Object>> list = (List<Map<String, Object>>) page.getRows();
		Map<String,Object> map = new HashMap<String, Object>();
		if(list.size()>0){
			for(int i = 0;i<list.size();i++){
				map = list.get(i);
				map.put("returnStatus", map.get("returnStatus")==null?"":ReturnStatus.getName(Integer.valueOf(map.get("returnStatus").toString())));
			}
		}
		return page;
	}
	/**
	 * 
	 *@category 获取历史退货单列表（配送企业）
	 *@author 邱磊
	 *@date 2015年8月1日 上午10:46:10
	 *@return
	 */
	@SuppressWarnings("unchecked")
	public Pagination getReturnOldOrderByDelDataList(Pagination page){
		page = purReturnOldOrderDao.getReturnOldOrderByDelDataList(page);
		List<Map<String, Object>> list = (List<Map<String, Object>>) page.getRows();
		if (null != list && list.size() > 0){
			for (int i = 0; i < list.size(); i++){
				Map<String, Object> map = list.get(i);
				map.put("status", map.get("status")==null?"":ConstantsUtil.returnStatus(map.get("status").toString()));
				map.put("retMoney", map.get("retMoney")==null?"":ParseNumber.toStrDecimal(ParseNumber.toDouble(map.get("retMoney").toString())));
			}
		}
		page.setRows(list);
		return page;
	}
	
	@SuppressWarnings("unchecked")
	@Override
	public Pagination getProCompReturnOldOrderList(Pagination page) {
		page = purReturnOldOrderDao.getProCompReturnOldOrderList(page); 
		List<Map<String, Object>> list = (List<Map<String, Object>>) page.getRows();
		if (null != list && list.size() > 0){
			for (int i = 0; i < list.size(); i++){
				Map<String, Object> map = list.get(i);
				map.put("status", map.get("status")==null?"":ConstantsUtil.returnStatus(map.get("status").toString()));
			}
		}
		return page;
	}

}
